package com.java.boot.admin.controller;

import com.java.boot.admin.bean.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import javax.servlet.http.HttpSession;

/**
 * @author jingjintao
 * @date 2021/7/26 - 23:50
 **/
@Controller
@Slf4j
public class IndexController {

//    @Autowired
    private StringRedisTemplate redisTemplate;

    @GetMapping(value = {"/","/login"})
    public String loginPage(){

        return "login";
    }

    @PostMapping("/login")
    public String main(User user, HttpSession session, Model model){//RedirectAttributes

        if(StringUtils.hasLength(user.getUserName()) && "123456".equals(user.getPassword())){
            //把登陆成功的用户保存起来
            session.setAttribute("loginUser",user);
            //登录成功重定向到main.html;  重定向防止表单重复提交
            return "redirect:/main.html";
        }
        model.addAttribute("msg","账号密码错误");
        //回到登录页面
        return "login";

    }

    @GetMapping("/main.html")
    public String mainPage(HttpSession session,Model model){
        log.info("当前方法mainPage()");
//        Object loginUser = session.getAttribute("loginUser");
//        if(loginUser != null){
//            return "main";
//        }
//        model.addAttribute("msg","请重新登录");
//        ValueOperations<String, String> operations = redisTemplate.opsForValue();
//        String sqlCount = operations.get("/sql");
//        String mainCount = operations.get("/main.html");
//
//        model.addAttribute("sqlCount",sqlCount);
//        model.addAttribute("mainCount",mainCount);
        return "main";
    }
}
